package model;

import java.util.Date;

public class Usuario extends Pessoa {

	private Status status;
	private Date dataStatus;
	
	private String nomeDependente;
	private String emailDependente;

	public Usuario() {
	}
	
	public Usuario(int id, String cpf, String nome, String email, String senha,
			String profissao, String dataNascimento, Endereco endereco, Status status,
			String nomeDependente, String emailDependente) throws Exception {
		super(id, cpf,  nome, email, senha, profissao, dataNascimento, endereco);
		this.setStatus(status);
		this.setNomeDependente(nomeDependente);
		this.setEmailDependente(emailDependente);
	}
	
	public Status getStatus() {
		return status;
	}

	public void setStatus(Status status) throws Exception {
		if (status == null){
			status = Status.LIVRE;
		}
		this.status = status;
	}

	public String getNomeDependente() {
		return nomeDependente;
	}
	public void setNomeDependente(String nomeDependente) {
		this.nomeDependente = nomeDependente;
	}
	public String getEmailDependente() {
		return emailDependente;
	}
	public void setEmailDependente(String emailDependente) {
		this.emailDependente = emailDependente;
	}
	public Date getDataStatus() {
		return dataStatus;
	}
	public void setDataStatus(Date dataStatus) {
		if (this.getStatus() != null){
			if (this.getStatus().equals(Status.ADVERTENCIA) || 
				this.getStatus().equals(Status.SUSPENSAO) ||
				this.getStatus().equals(Status.EXPULSAO)){
				dataStatus = new Date();
			}
		}
		this.dataStatus = dataStatus;
	}
}